Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Alexaスキルを安心安全に開発運用するためのAWS自動化ソリューション
Search
chao2suke
February 23, 2019
Technology
0
580
Alexaスキルを安心安全に開発運用するためのAWS自動化ソリューション
2019/02/23 JAWS Days 2019 登壇資料
chao2suke
February 23, 2019
Tweet
Share
More Decks by chao2suke
See All by chao2suke
天井カメラで捉えた人物をコンピュータビジョンで解析した3年間のトライアンドエラーとこれから
chao2suke
0
2k
結局普通のエンジニアが今SageMaker使うと何ができるのかわかるLT
chao2suke
0
1.6k
機械学習の知識ゼロでも動かせるAIツールキットの世界
chao2suke
0
1.5k
「今」のAI技術と「3年後」のAI技術のご紹介
chao2suke
0
980
Alexaに詳しい人は普段Alexaをどう扱っているか
chao2suke
0
820
奥深きAPLの世界
chao2suke
0
120
Alexaスキル & レジレスCafeにおけるStripe活用の取り組み
chao2suke
0
1.9k
Alexa x 機械学習でスキルをよりリッチにする方法
chao2suke
0
1.5k
#AAJUG vol.2 APL ハンズオン
chao2suke
0
2.5k
Other Decks in Technology
See All in Technology
CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
kota2and3kan
13
4.7k
グイグイ系QAエンジニアでやっていくよ!
____rina____
0
440
M5stackで使用できるpHセンサの開発
shinrinakamura
1
300
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
35k
NewSQL Landscape
oracle4engineer
PRO
5
3k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
37k
Kaggleで学ぶ系列データのための深層学習モデリング
yu4u
7
1.6k
Taking Flight with Tailwind CSS
opdavies
0
4.3k
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
0
110
中年男性がメインフレームから クラウドへキャリアシフトしてみた
uechishingo
1
450
TDD - Test Driven Drupal
opdavies
0
3k
Observabilityジャーニーを実現するためのAWSサービス:CloudWatch編
o11yfes2023
0
110
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Unsuck your backbone
ammeep
664
57k
Adopting Sorbet at Scale
ufuk
69
8.6k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
8
3.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
In The Pink: A Labor of Love
frogandcode
138
21k
Navigating Team Friction
lara
179
13k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Atom: Resistance is Futile
akmur
260
25k
Transcript
AlexaεΩϧΛ ҆৺ɾ҆શʹ։ൃӡ༻͢ΔͨΊͷ AWSࣗಈԽιϦϡʔγϣϯ Ϋϥεϝιουגࣜձࣾ ͤʔͷ
ࣗݾհ • ਗ਼߶࢙ʢͤʔͷʣ • Ϋϥεϝιουגࣜձࣾ AIιϦϡʔγϣϯ෦ ࡳຈΦϑΟεॴଐ AlexaςΫχΧϧΤόϯδΣϦετ /
VUIΞʔΩςΫτ • ࠷ۙAWS Certified Alexa Skill Builder - SpecialtyΛड͚ͯ AWSࢼݧݴޠ͕ͳͯ͘ײಈ
εΩϧΛͲͷΑ͏ʹ࡞͍ͬͯ·͔͢ʁ
؆୯͚ͩʹ༉அ͕ͪ͠ ɾ։ൃऀίϯιʔϧʢGUIʣ ͦͷͰͳΜͱͳܾ͘Ίͯ͠·͍͕ͪ ɾόοΫΤϯυʢLambdaʣ͕1ϖʔδʢindex.jsʣͷΈͰॻ ͚ΔαΠζͩͱɺ͍Ͱॻ͍ͯ͠·͍͕ͪ ͔ͭͯͷAWS͕ͦ͏ͩͬͨ
AWSΤϯδχΞϦϯάͷ εςοϓΞοϓ ϚωʔδϝϯτίϯιʔϧͰϙνϙν࡞Δ CLI & APIͰίʔυԽͯ͠ཧ͢Δ όονԽ & ௨ػೳΛՃͯ͠CI/CD͢Δ
AlexaΛίʔυཧ͢Δ ϑϩϯτΤϯυଆ ʢIntent/SlotɺΤϯυϙΠϯτཧ) όοΫΤϯυଆ ʢ࣮ίʔυʣ SMAPI (Skill Management API) ASK
CLI AWS Lambda
Codeܑఋ
CodeܑఋΛͬͨ Alexaڥߏங
Point ɾCodeStar(SAM)Λ͏ͱLambdaͷFunction໊ʹ ༨ܭͳpostfix͕ͭ͘ͷ͕ݏ => Apex(SalesForceͷΞϨ͡Όͳ͍ํʣ ΛͬͯLambdaΛDeploy ɾApexΛೖΕͨDockerΛECRʹηοτ => ΧελϜϏϧυϞσϧͰୟ͘ ɾߏங͕͍࣌ؒ(ࣗಈπʔϧ͋Δ͋Δʣ
=> CodePipelineΛͬͯSNSʹ݁ՌΛ௨ɺ ޙ͖ͳํ๏Ͱ௨͢Δ ɾΫϥΠΞϯτʹޙ΄Ͳ εΩϧτϥϯεϑΝʔ͢Δ͜ͱΛߟྀͯ͠ CodeCommitͰͳ͘GithubΛ࠾༻
buildspec.yml version: 0.2 env: variables: SKILL_NAME: demo STAGE: dev AWS_ACCOUNT_ID:
xxxxxxxxxxxx phases: pre_build: commands: - mkdir /root/.ask - "aws s3 sync s3://askconfig-${AWS_ACCOUNT_ID}-${AWS_REGION} /root/.ask/" - cd functions/skill - yarn - cd ../../
buildspec.yml build: commands: - echo Build started on `date` -
"/usr/local/bin/apex --env ${STAGE} deploy skill" - "aws lambda add-permission --statement-id 1 --function-name ${SKILL_NAME}_$ {STAGE} --action lambda:invokeFunction --principal alexa-appkit.amazon.com || true" - cd model - "sh build.${STAGE}.sh" post_build: commands: - echo Build completed on `date`
ෳڥ࡞ͬͯ·͔͢ʁ
ࣄͰΤϯδχΞϦϯά͢Δ࣌ͷجૅ ։ൃڥͰ։ൃ εςʔδϯάͰ͓٬༷֬ೝɺOKͳΒຊ൪ ෆ۩߹εςʔδϯάͰ࠶ݱɺ։ൃڥͰम෮
ຊ൪ڥAmazonνʔϜʹΑΔ৹͕ࠪ͋Δ ʢ͍͍ͩͨ5Ӧۀʣ AlexaͰෳڥΛ࡞ΔϙΠϯτ όοΫΤϯυίʔυ৹ࠪର֎
AlexaͰෳڥΛ࡞ΔϙΠϯτ ࣗಈͰΞοϓσʔτ͢ΔͱϑϩϯτͱόοΫʹ όʔδϣϯࠩҟ͕ग़Δ
ΤΠϦΞεΛ͏
ΤΠϦΞεΛ༻͍ͨෳڥߏங
ɾεςʔδϯάͱຊ൪ͳΔ͘ಉ͡ʹ͓͖͍ͯͨ͠ ͷͰReleaseϒϥϯνΛΘͣmasterʹ౷Ұ ɾώϡʔϚϯΤϥʔʹΑΔΦϖϛεΛ͙ͨΊ ΤΠϦΞεͱόʔδϣϯͷඥ͚ ͋͑ͯखಈͰߦ͏ ɾApexͷproject.json project.dev.json / project.prd.jsonͷ2छྨɺ config(ϩάείʔϓͳͲΛཧʣ
dev/stg/prdͷ3छྨ Point
ଞʹ͍Ζ͍Ζͬͯ·͕͢ ͦΕ·ͨผͷ
·ͱΊ ɾࠓ·Ͱͷ։ൃϊϋ Alexa։ൃʹͦͷ··͑·͢ ɾLambdaόʔδϣχϯάͯ͠ ΤΠϦΞεͰཧ͠·͠ΐ͏ ɾCodeBuildʹςετπʔϧΛಥͬࠐΜͰ CI/CDͰճ͠·͠ΐ͏